<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
  <style type="text/css">
    .progress {
      width: 400px;
      height: 80px;
      background-image: linear-gradient(to right, rgb(16, 142, 233) 0%, rgb(135, 208, 104) 100%);
      /* 指定动作 */
      animation-duration: 1000ms;
      animation-delay: 200ms;
      animation-name: loadingToRight;
    }

    @keyframes loadingToRight {
      to {
        width: 400px;
      }
      from {
        width: 0px;
      }
    }
  </style>
</head>
<body>
<div class="progress"></div>
<script>
  /*let obj = {
    arr: [
      {
        id: '1',
        name: 'huangjian'
      },
      {
        id: '2',
        name: 'huangkang'
      }
    ]
  };

  console.log(obj.arr.find(o => o.id=='1'));*/


  let component = {
    compConfigData: {
      pager: {
        pageNum: 1,
        pageSize: 5
      }
    }
  }

  /*******URL处理参数*******/
  let url = 'http://localhost:8090/page/getAllPageBaseInfo?pageNum=[pager.pageNum]&pageSize=[pager.pageSize]&name=3234';

  let arr = url.match(/\[(.+?)\]/g);

  arr.forEach(item => {
    let keyStr = item.replace('[', '').replace(']', '');
    let keyArr = keyStr.split('.');
    let tmp = component.compConfigData;
    for (let i = 0; i < keyArr.length; i++) {
      tmp = tmp[keyArr[i]]
    }
    url = url.replace(item, tmp);
    //tmp = component.compConfigData;
  });

  console.log(url);

  /*var str="123{xxxx}456[我的]789123[你的]456(1389090)789";
  var regex1 = /\((.+?)\)/g; // () 小括号
  var regex2 = /\[(.+?)\]/g; // [] 中括号
  var regex3 = /\{(.+?)\}/g; // {} 花括号，大括号
  // 输出是一个数组
  console.log(str.match(regex1));
  console.log(str.match(regex2));
  console.log(str.match(regex3));*/
  /*******URL处理参数 end *******/

  let arr2 = [
    {
      'name': '2012年',
      'value': 451,
      'series': '1'
    },
    {
      'name': '2012年',
      'value': 543,
      'series': '2'
    },
    {
      'name': '2013年',
      'value': 352,
      'series': '1'
    },
    {
      'name': '2014年',
      'value': 303,
      'series': '1'
    },
    {
      'name': '2015年',
      'value': 534,
      'series': '1'
    },
    {
      'name': '2016年',
      'value': 95,
      'series': '1'
    },
    {
      'name': '2017年',
      'value': 236,
      'series': '1'
    }
  ];

  function groupArr(list, field) {
    let fieldList = [], att = [];
    list.map((e) => {
      fieldList.push(e[field])
    });
    //数组去重
    fieldList = fieldList.filter((e, i, self) => {
      return self.indexOf(e) == i
    });

    for (let j = 0; j < fieldList.length; j++) {
      //过滤出匹配到的数据
      let arr = list.filter((e) => {
        return e[field] == fieldList[j];
      });
      att.push({
        type: arr[0][field],
        list: arr
      })
    }
    return att;
  }

  console.log(groupArr(arr2, 'name'));


</script>
</body>
</html>
